// 用 bind 为函数绑定 this 后返回另一个函数

function welcome(username) {
    console.log(`${this.owner}欢迎${username}来到开发喵`);
}

let first = { owner: '小琴' }

// 用 bind 为 welcome 绑定 this 变量指向实例后返回新的函数
let w = welcome.bind( first );
// 调用已经绑定过 this 的函数
w( '阿芳' );
w( '俊俊' );
w( '丹丹' );

const monkey = {
    name: '孙悟空',
    add(a, b) {
        console.log(`${this.name}正在计算 ${a} 加 ${b} 之和`);
        return a + b;
    }
}

monkey.add(10, 20);

let second = { name: '秦某娜' }

let jia = monkey.add.bind( second );
jia( 100, 900);
jia( 200, 700);